package com.dragon.modules.yuegou.query.order;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.order.GoodsEntity;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 单品（只有需要自提的商品才拆成单品） 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2020-07-08 15:47:11
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class GoodsQuery extends GoodsEntity implements Query<GoodsEntity> {

    /** 单品ID查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 订单号查询条件 */
	@JsonUnwrapped(prefix = "orderNo")
	private Condition<String> orderNoCondition;

    /** SPUID查询条件 */
	@JsonUnwrapped(prefix = "spuId")
	private Condition<String> spuIdCondition;

    /** 商品ID查询条件 */
	@JsonUnwrapped(prefix = "skuId")
	private Condition<String> skuIdCondition;

    /** 商品名查询条件 */
	@JsonUnwrapped(prefix = "skuTitle")
	private Condition<String> skuTitleCondition;

    /** 商品单价查询条件 */
	@JsonUnwrapped(prefix = "skuPrice")
	private Condition<BigDecimal> skuPriceCondition;

    /** 原价查询条件 */
	@JsonUnwrapped(prefix = "skuOriginalPrice")
	private Condition<BigDecimal> skuOriginalPriceCondition;

    /** 折扣价（用这个价格计算）查询条件 */
	@JsonUnwrapped(prefix = "skuDiscountPrice")
	private Condition<BigDecimal> skuDiscountPriceCondition;

    /** 优惠金额查询条件 */
	@JsonUnwrapped(prefix = "discountAmount")
	private Condition<BigDecimal> discountAmountCondition;

    /** 商户分摊金额查询条件 */
	@JsonUnwrapped(prefix = "merchantDivideFee")
	private Condition<BigDecimal> merchantDivideFeeCondition;

    /** 平台分摊金额查询条件 */
	@JsonUnwrapped(prefix = "groupDivideFee")
	private Condition<BigDecimal> groupDivideFeeCondition;

    /** 优惠劵名称查询条件 */
	@JsonUnwrapped(prefix = "couponName")
	private Condition<String> couponNameCondition;

    /** 优惠劵模板ID查询条件 */
	@JsonUnwrapped(prefix = "couponTemplateId")
	private Condition<String> couponTemplateIdCondition;

    /** 优惠券优惠金额查询条件 */
	@JsonUnwrapped(prefix = "couponDiscountFee")
	private Condition<BigDecimal> couponDiscountFeeCondition;

    /** 结算价查询条件 */
	@JsonUnwrapped(prefix = "skuSettlementPrice")
	private Condition<BigDecimal> skuSettlementPriceCondition;

    /** 商品积分查询条件 */
	@JsonUnwrapped(prefix = "skuPoints")
	private Condition<Integer> skuPointsCondition;

    /** 商品图片地址查询条件 */
	@JsonUnwrapped(prefix = "skuMainImages")
	private Condition<String> skuMainImagesCondition;

    /** 单位，待确定（商品模块）查询条件 */
	@JsonUnwrapped(prefix = "skuUnit")
	private Condition<Integer> skuUnitCondition;

    /** SKU规格属性 JSON存储查询条件 */
	@JsonUnwrapped(prefix = "skuAttrs")
	private Condition<String> skuAttrsCondition;

    /** 总金额（amount = price * num)查询条件 */
	@JsonUnwrapped(prefix = "totalAmount")
	private Condition<BigDecimal> totalAmountCondition;

    /** 总积分查询条件 */
	@JsonUnwrapped(prefix = "totalPoints")
	private Condition<Integer> totalPointsCondition;

    /** 商圈ID查询条件 */
	@JsonUnwrapped(prefix = "busdId")
	private Condition<String> busdIdCondition;

    /** 商家ID查询条件 */
	@JsonUnwrapped(prefix = "merchantId")
	private Condition<String> merchantIdCondition;

    /** 会员ID查询条件 */
	@JsonUnwrapped(prefix = "memberId")
	private Condition<String> memberIdCondition;

    /** 是否已提货查询条件 */
	@JsonUnwrapped(prefix = "pickup")
	private Condition<Boolean> pickupCondition;

    /** 提货开始时间（为空表示无限制）查询条件 */
	@JsonUnwrapped(prefix = "pickupStartTime")
	private Condition<LocalDateTime> pickupStartTimeCondition;

    /** 提货超时时间（为空表示永不超时）查询条件 */
	@JsonUnwrapped(prefix = "pickupExpireTime")
	private Condition<LocalDateTime> pickupExpireTimeCondition;

    /** 提货时间查询条件 */
	@JsonUnwrapped(prefix = "pickupTime")
	private Condition<LocalDateTime> pickupTimeCondition;

    /** 商户用户ID（用户自提时由商户用户确认）查询条件 */
	@JsonUnwrapped(prefix = "merchantUserId")
	private Condition<String> merchantUserIdCondition;

	/**
	 * 构造一个查询条件对象
	 */
	public GoodsQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public GoodsQuery(GoodsEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public GoodsQuery(GoodsQuery other) {
		super(other);
		if (other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if (other.orderNoCondition != null) {
			this.orderNoCondition = other.orderNoCondition.copy();
		}
		if (other.spuIdCondition != null) {
			this.spuIdCondition = other.spuIdCondition.copy();
		}
		if (other.skuIdCondition != null) {
			this.skuIdCondition = other.skuIdCondition.copy();
		}
		if (other.skuTitleCondition != null) {
			this.skuTitleCondition = other.skuTitleCondition.copy();
		}
		if (other.skuPriceCondition != null) {
			this.skuPriceCondition = other.skuPriceCondition.copy();
		}
		if (other.skuOriginalPriceCondition != null) {
			this.skuOriginalPriceCondition = other.skuOriginalPriceCondition.copy();
		}
		if (other.skuDiscountPriceCondition != null) {
			this.skuDiscountPriceCondition = other.skuDiscountPriceCondition.copy();
		}
		if (other.discountAmountCondition != null) {
			this.discountAmountCondition = other.discountAmountCondition.copy();
		}
		if (other.merchantDivideFeeCondition != null) {
			this.merchantDivideFeeCondition = other.merchantDivideFeeCondition.copy();
		}
		if (other.groupDivideFeeCondition != null) {
			this.groupDivideFeeCondition = other.groupDivideFeeCondition.copy();
		}
		if (other.couponNameCondition != null) {
			this.couponNameCondition = other.couponNameCondition.copy();
		}
		if (other.couponTemplateIdCondition != null) {
			this.couponTemplateIdCondition = other.couponTemplateIdCondition.copy();
		}
		if (other.couponDiscountFeeCondition != null) {
			this.couponDiscountFeeCondition = other.couponDiscountFeeCondition.copy();
		}
		if (other.skuSettlementPriceCondition != null) {
			this.skuSettlementPriceCondition = other.skuSettlementPriceCondition.copy();
		}
		this.setOther(other);
	}
	private void setOther(GoodsQuery other){
		if(other.skuPointsCondition != null) {
			this.skuPointsCondition = other.skuPointsCondition.copy();
		}
		if(other.skuMainImagesCondition != null) {
			this.skuMainImagesCondition = other.skuMainImagesCondition.copy();
		}
		if(other.skuUnitCondition != null) {
			this.skuUnitCondition = other.skuUnitCondition.copy();
		}
		if(other.skuAttrsCondition != null) {
			this.skuAttrsCondition = other.skuAttrsCondition.copy();
		}
		if(other.totalAmountCondition != null) {
			this.totalAmountCondition = other.totalAmountCondition.copy();
		}
		if(other.totalPointsCondition != null) {
			this.totalPointsCondition = other.totalPointsCondition.copy();
		}
		if(other.busdIdCondition != null) {
			this.busdIdCondition = other.busdIdCondition.copy();
		}
		if(other.merchantIdCondition != null) {
			this.merchantIdCondition = other.merchantIdCondition.copy();
		}
		if(other.memberIdCondition != null) {
			this.memberIdCondition = other.memberIdCondition.copy();
		}
		if(other.pickupCondition != null) {
			this.pickupCondition = other.pickupCondition.copy();
		}
		if(other.pickupStartTimeCondition != null) {
			this.pickupStartTimeCondition = other.pickupStartTimeCondition.copy();
		}
		if(other.pickupExpireTimeCondition != null) {
			this.pickupExpireTimeCondition = other.pickupExpireTimeCondition.copy();
		}
		if(other.pickupTimeCondition != null) {
			this.pickupTimeCondition = other.pickupTimeCondition.copy();
		}
		if(other.merchantUserIdCondition != null) {
			this.merchantUserIdCondition = other.merchantUserIdCondition.copy();
		}
	}

	@Override
	public QueryWrapper<GoodsEntity> toQueryWrapper() {
		QueryWrapper<GoodsEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (orderNoCondition != null) {
			orderNoCondition.toWrapper(wrapper, COL_ORDER_NO);
		}
		if (spuIdCondition != null) {
			spuIdCondition.toWrapper(wrapper, COL_SPU_ID);
		}
		if (skuIdCondition != null) {
			skuIdCondition.toWrapper(wrapper, COL_SKU_ID);
		}
		if (skuTitleCondition != null) {
			skuTitleCondition.toWrapper(wrapper, COL_SKU_TITLE);
		}
		if (skuPriceCondition != null) {
			skuPriceCondition.toWrapper(wrapper, COL_SKU_PRICE);
		}
		if (skuOriginalPriceCondition != null) {
			skuOriginalPriceCondition.toWrapper(wrapper, COL_SKU_ORIGINAL_PRICE);
		}
		if (skuDiscountPriceCondition != null) {
			skuDiscountPriceCondition.toWrapper(wrapper, COL_SKU_DISCOUNT_PRICE);
		}
		if (discountAmountCondition != null) {
			discountAmountCondition.toWrapper(wrapper, COL_DISCOUNT_AMOUNT);
		}
		if (merchantDivideFeeCondition != null) {
			merchantDivideFeeCondition.toWrapper(wrapper, COL_MERCHANT_DIVIDE_FEE);
		}
		if (groupDivideFeeCondition != null) {
			groupDivideFeeCondition.toWrapper(wrapper, COL_GROUP_DIVIDE_FEE);
		}
		if (couponNameCondition != null) {
			couponNameCondition.toWrapper(wrapper, COL_COUPON_NAME);
		}
		if (couponTemplateIdCondition != null) {
			couponTemplateIdCondition.toWrapper(wrapper, COL_COUPON_TEMPLATE_ID);
		}
		if (couponDiscountFeeCondition != null) {
			couponDiscountFeeCondition.toWrapper(wrapper, COL_COUPON_DISCOUNT_FEE);
		}
		if (skuSettlementPriceCondition != null) {
			skuSettlementPriceCondition.toWrapper(wrapper, COL_SKU_SETTLEMENT_PRICE);
		}
		return getQueryWrapper(wrapper);
	}
	private QueryWrapper<GoodsEntity> getQueryWrapper(QueryWrapper<GoodsEntity> wrapper){
		if (skuPointsCondition != null) {
			skuPointsCondition.toWrapper(wrapper, COL_SKU_POINTS);
		}
		if (skuMainImagesCondition != null) {
			skuMainImagesCondition.toWrapper(wrapper, COL_SKU_MAIN_IMAGES);
		}
		if (skuUnitCondition != null) {
			skuUnitCondition.toWrapper(wrapper, COL_SKU_UNIT);
		}
		if (skuAttrsCondition != null) {
			skuAttrsCondition.toWrapper(wrapper, COL_SKU_ATTRS);
		}
		if (totalAmountCondition != null) {
			totalAmountCondition.toWrapper(wrapper, COL_TOTAL_AMOUNT);
		}
		if (totalPointsCondition != null) {
			totalPointsCondition.toWrapper(wrapper, COL_TOTAL_POINTS);
		}
		if (busdIdCondition != null) {
			busdIdCondition.toWrapper(wrapper, COL_BUSD_ID);
		}
		if (merchantIdCondition != null) {
			merchantIdCondition.toWrapper(wrapper, COL_MERCHANT_ID);
		}
		if (memberIdCondition != null) {
			memberIdCondition.toWrapper(wrapper, COL_MEMBER_ID);
		}
		if (pickupCondition != null) {
			pickupCondition.toWrapper(wrapper, COL_PICKUP);
		}
		if (pickupStartTimeCondition != null) {
			pickupStartTimeCondition.toWrapper(wrapper, COL_PICKUP_START_TIME);
		}
		if (pickupExpireTimeCondition != null) {
			pickupExpireTimeCondition.toWrapper(wrapper, COL_PICKUP_EXPIRE_TIME);
		}
		if (pickupTimeCondition != null) {
			pickupTimeCondition.toWrapper(wrapper, COL_PICKUP_TIME);
		}
		if (merchantUserIdCondition != null) {
			merchantUserIdCondition.toWrapper(wrapper, COL_MERCHANT_USER_ID);
		}
		return wrapper;
	}

	/**
	 * 构造并返回单品ID查询条件
	 * 
	 * @return idCondition 单品ID查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取单品ID查询条件
	 * 
	 * @return idCondition 单品ID查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置单品ID查询条件
	 * 
	 * @param idCondition 单品ID查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> orderNo() {
		this.orderNoCondition = new Condition<>();
		return this.orderNoCondition;
	}
	
	/**
	 * 获取订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> getOrderNoCondition() {
		return orderNoCondition;
	}

	/**
	 * 设置订单号查询条件
	 * 
	 * @param orderNoCondition 订单号查询条件
	 */
	public void setOrderNoCondition(Condition<String> orderNoCondition) {
		this.orderNoCondition = orderNoCondition;
	}

	/**
	 * 构造并返回SPUID查询条件
	 * 
	 * @return spuIdCondition SPUID查询条件
	 */
	public Condition<String> spuId() {
		this.spuIdCondition = new Condition<>();
		return this.spuIdCondition;
	}
	
	/**
	 * 获取SPUID查询条件
	 * 
	 * @return spuIdCondition SPUID查询条件
	 */
	public Condition<String> getSpuIdCondition() {
		return spuIdCondition;
	}

	/**
	 * 设置SPUID查询条件
	 * 
	 * @param spuIdCondition SPUID查询条件
	 */
	public void setSpuIdCondition(Condition<String> spuIdCondition) {
		this.spuIdCondition = spuIdCondition;
	}

	/**
	 * 构造并返回商品ID查询条件
	 * 
	 * @return skuIdCondition 商品ID查询条件
	 */
	public Condition<String> skuId() {
		this.skuIdCondition = new Condition<>();
		return this.skuIdCondition;
	}
	
	/**
	 * 获取商品ID查询条件
	 * 
	 * @return skuIdCondition 商品ID查询条件
	 */
	public Condition<String> getSkuIdCondition() {
		return skuIdCondition;
	}

	/**
	 * 设置商品ID查询条件
	 * 
	 * @param skuIdCondition 商品ID查询条件
	 */
	public void setSkuIdCondition(Condition<String> skuIdCondition) {
		this.skuIdCondition = skuIdCondition;
	}

	/**
	 * 构造并返回商品名查询条件
	 * 
	 * @return skuTitleCondition 商品名查询条件
	 */
	public Condition<String> skuTitle() {
		this.skuTitleCondition = new Condition<>();
		return this.skuTitleCondition;
	}
	
	/**
	 * 获取商品名查询条件
	 * 
	 * @return skuTitleCondition 商品名查询条件
	 */
	public Condition<String> getSkuTitleCondition() {
		return skuTitleCondition;
	}

	/**
	 * 设置商品名查询条件
	 * 
	 * @param skuTitleCondition 商品名查询条件
	 */
	public void setSkuTitleCondition(Condition<String> skuTitleCondition) {
		this.skuTitleCondition = skuTitleCondition;
	}

	/**
	 * 构造并返回商品单价查询条件
	 * 
	 * @return skuPriceCondition 商品单价查询条件
	 */
	public Condition<BigDecimal> skuPrice() {
		this.skuPriceCondition = new Condition<>();
		return this.skuPriceCondition;
	}
	
	/**
	 * 获取商品单价查询条件
	 * 
	 * @return skuPriceCondition 商品单价查询条件
	 */
	public Condition<BigDecimal> getSkuPriceCondition() {
		return skuPriceCondition;
	}

	/**
	 * 设置商品单价查询条件
	 * 
	 * @param skuPriceCondition 商品单价查询条件
	 */
	public void setSkuPriceCondition(Condition<BigDecimal> skuPriceCondition) {
		this.skuPriceCondition = skuPriceCondition;
	}

	/**
	 * 构造并返回原价查询条件
	 * 
	 * @return skuOriginalPriceCondition 原价查询条件
	 */
	public Condition<BigDecimal> skuOriginalPrice() {
		this.skuOriginalPriceCondition = new Condition<>();
		return this.skuOriginalPriceCondition;
	}
	
	/**
	 * 获取原价查询条件
	 * 
	 * @return skuOriginalPriceCondition 原价查询条件
	 */
	public Condition<BigDecimal> getSkuOriginalPriceCondition() {
		return skuOriginalPriceCondition;
	}

	/**
	 * 设置原价查询条件
	 * 
	 * @param skuOriginalPriceCondition 原价查询条件
	 */
	public void setSkuOriginalPriceCondition(Condition<BigDecimal> skuOriginalPriceCondition) {
		this.skuOriginalPriceCondition = skuOriginalPriceCondition;
	}

	/**
	 * 构造并返回折扣价（用这个价格计算）查询条件
	 * 
	 * @return skuDiscountPriceCondition 折扣价（用这个价格计算）查询条件
	 */
	public Condition<BigDecimal> skuDiscountPrice() {
		this.skuDiscountPriceCondition = new Condition<>();
		return this.skuDiscountPriceCondition;
	}
	
	/**
	 * 获取折扣价（用这个价格计算）查询条件
	 * 
	 * @return skuDiscountPriceCondition 折扣价（用这个价格计算）查询条件
	 */
	public Condition<BigDecimal> getSkuDiscountPriceCondition() {
		return skuDiscountPriceCondition;
	}

	/**
	 * 设置折扣价（用这个价格计算）查询条件
	 * 
	 * @param skuDiscountPriceCondition 折扣价（用这个价格计算）查询条件
	 */
	public void setSkuDiscountPriceCondition(Condition<BigDecimal> skuDiscountPriceCondition) {
		this.skuDiscountPriceCondition = skuDiscountPriceCondition;
	}

	/**
	 * 构造并返回优惠金额查询条件
	 * 
	 * @return discountAmountCondition 优惠金额查询条件
	 */
	public Condition<BigDecimal> discountAmount() {
		this.discountAmountCondition = new Condition<>();
		return this.discountAmountCondition;
	}
	
	/**
	 * 获取优惠金额查询条件
	 * 
	 * @return discountAmountCondition 优惠金额查询条件
	 */
	public Condition<BigDecimal> getDiscountAmountCondition() {
		return discountAmountCondition;
	}

	/**
	 * 设置优惠金额查询条件
	 * 
	 * @param discountAmountCondition 优惠金额查询条件
	 */
	public void setDiscountAmountCondition(Condition<BigDecimal> discountAmountCondition) {
		this.discountAmountCondition = discountAmountCondition;
	}

	/**
	 * 构造并返回商户分摊金额查询条件
	 * 
	 * @return merchantDivideFeeCondition 商户分摊金额查询条件
	 */
	public Condition<BigDecimal> merchantDivideFee() {
		this.merchantDivideFeeCondition = new Condition<>();
		return this.merchantDivideFeeCondition;
	}
	
	/**
	 * 获取商户分摊金额查询条件
	 * 
	 * @return merchantDivideFeeCondition 商户分摊金额查询条件
	 */
	public Condition<BigDecimal> getMerchantDivideFeeCondition() {
		return merchantDivideFeeCondition;
	}

	/**
	 * 设置商户分摊金额查询条件
	 * 
	 * @param merchantDivideFeeCondition 商户分摊金额查询条件
	 */
	public void setMerchantDivideFeeCondition(Condition<BigDecimal> merchantDivideFeeCondition) {
		this.merchantDivideFeeCondition = merchantDivideFeeCondition;
	}

	/**
	 * 构造并返回平台分摊金额查询条件
	 * 
	 * @return groupDivideFeeCondition 平台分摊金额查询条件
	 */
	public Condition<BigDecimal> groupDivideFee() {
		this.groupDivideFeeCondition = new Condition<>();
		return this.groupDivideFeeCondition;
	}
	
	/**
	 * 获取平台分摊金额查询条件
	 * 
	 * @return groupDivideFeeCondition 平台分摊金额查询条件
	 */
	public Condition<BigDecimal> getGroupDivideFeeCondition() {
		return groupDivideFeeCondition;
	}

	/**
	 * 设置平台分摊金额查询条件
	 * 
	 * @param groupDivideFeeCondition 平台分摊金额查询条件
	 */
	public void setGroupDivideFeeCondition(Condition<BigDecimal> groupDivideFeeCondition) {
		this.groupDivideFeeCondition = groupDivideFeeCondition;
	}

	/**
	 * 构造并返回优惠劵名称查询条件
	 * 
	 * @return couponNameCondition 优惠劵名称查询条件
	 */
	public Condition<String> couponName() {
		this.couponNameCondition = new Condition<>();
		return this.couponNameCondition;
	}
	
	/**
	 * 获取优惠劵名称查询条件
	 * 
	 * @return couponNameCondition 优惠劵名称查询条件
	 */
	public Condition<String> getCouponNameCondition() {
		return couponNameCondition;
	}

	/**
	 * 设置优惠劵名称查询条件
	 * 
	 * @param couponNameCondition 优惠劵名称查询条件
	 */
	public void setCouponNameCondition(Condition<String> couponNameCondition) {
		this.couponNameCondition = couponNameCondition;
	}

	/**
	 * 构造并返回优惠劵模板ID查询条件
	 * 
	 * @return couponTemplateIdCondition 优惠劵模板ID查询条件
	 */
	public Condition<String> couponTemplateId() {
		this.couponTemplateIdCondition = new Condition<>();
		return this.couponTemplateIdCondition;
	}
	
	/**
	 * 获取优惠劵模板ID查询条件
	 * 
	 * @return couponTemplateIdCondition 优惠劵模板ID查询条件
	 */
	public Condition<String> getCouponTemplateIdCondition() {
		return couponTemplateIdCondition;
	}

	/**
	 * 设置优惠劵模板ID查询条件
	 * 
	 * @param couponTemplateIdCondition 优惠劵模板ID查询条件
	 */
	public void setCouponTemplateIdCondition(Condition<String> couponTemplateIdCondition) {
		this.couponTemplateIdCondition = couponTemplateIdCondition;
	}

	/**
	 * 构造并返回优惠券优惠金额查询条件
	 * 
	 * @return couponDiscountFeeCondition 优惠券优惠金额查询条件
	 */
	public Condition<BigDecimal> couponDiscountFee() {
		this.couponDiscountFeeCondition = new Condition<>();
		return this.couponDiscountFeeCondition;
	}
	
	/**
	 * 获取优惠券优惠金额查询条件
	 * 
	 * @return couponDiscountFeeCondition 优惠券优惠金额查询条件
	 */
	public Condition<BigDecimal> getCouponDiscountFeeCondition() {
		return couponDiscountFeeCondition;
	}

	/**
	 * 设置优惠券优惠金额查询条件
	 * 
	 * @param couponDiscountFeeCondition 优惠券优惠金额查询条件
	 */
	public void setCouponDiscountFeeCondition(Condition<BigDecimal> couponDiscountFeeCondition) {
		this.couponDiscountFeeCondition = couponDiscountFeeCondition;
	}

	/**
	 * 构造并返回结算价查询条件
	 * 
	 * @return skuSettlementPriceCondition 结算价查询条件
	 */
	public Condition<BigDecimal> skuSettlementPrice() {
		this.skuSettlementPriceCondition = new Condition<>();
		return this.skuSettlementPriceCondition;
	}
	
	/**
	 * 获取结算价查询条件
	 * 
	 * @return skuSettlementPriceCondition 结算价查询条件
	 */
	public Condition<BigDecimal> getSkuSettlementPriceCondition() {
		return skuSettlementPriceCondition;
	}

	/**
	 * 设置结算价查询条件
	 * 
	 * @param skuSettlementPriceCondition 结算价查询条件
	 */
	public void setSkuSettlementPriceCondition(Condition<BigDecimal> skuSettlementPriceCondition) {
		this.skuSettlementPriceCondition = skuSettlementPriceCondition;
	}

	/**
	 * 构造并返回商品积分查询条件
	 * 
	 * @return skuPointsCondition 商品积分查询条件
	 */
	public Condition<Integer> skuPoints() {
		this.skuPointsCondition = new Condition<>();
		return this.skuPointsCondition;
	}
	
	/**
	 * 获取商品积分查询条件
	 * 
	 * @return skuPointsCondition 商品积分查询条件
	 */
	public Condition<Integer> getSkuPointsCondition() {
		return skuPointsCondition;
	}

	/**
	 * 设置商品积分查询条件
	 * 
	 * @param skuPointsCondition 商品积分查询条件
	 */
	public void setSkuPointsCondition(Condition<Integer> skuPointsCondition) {
		this.skuPointsCondition = skuPointsCondition;
	}

	/**
	 * 构造并返回商品图片地址查询条件
	 * 
	 * @return skuMainImagesCondition 商品图片地址查询条件
	 */
	public Condition<String> skuMainImages() {
		this.skuMainImagesCondition = new Condition<>();
		return this.skuMainImagesCondition;
	}
	
	/**
	 * 获取商品图片地址查询条件
	 * 
	 * @return skuMainImagesCondition 商品图片地址查询条件
	 */
	public Condition<String> getSkuMainImagesCondition() {
		return skuMainImagesCondition;
	}

	/**
	 * 设置商品图片地址查询条件
	 * 
	 * @param skuMainImagesCondition 商品图片地址查询条件
	 */
	public void setSkuMainImagesCondition(Condition<String> skuMainImagesCondition) {
		this.skuMainImagesCondition = skuMainImagesCondition;
	}

	/**
	 * 构造并返回单位，待确定（商品模块）查询条件
	 * 
	 * @return skuUnitCondition 单位，待确定（商品模块）查询条件
	 */
	public Condition<Integer> skuUnit() {
		this.skuUnitCondition = new Condition<>();
		return this.skuUnitCondition;
	}
	
	/**
	 * 获取单位，待确定（商品模块）查询条件
	 * 
	 * @return skuUnitCondition 单位，待确定（商品模块）查询条件
	 */
	public Condition<Integer> getSkuUnitCondition() {
		return skuUnitCondition;
	}

	/**
	 * 设置单位，待确定（商品模块）查询条件
	 * 
	 * @param skuUnitCondition 单位，待确定（商品模块）查询条件
	 */
	public void setSkuUnitCondition(Condition<Integer> skuUnitCondition) {
		this.skuUnitCondition = skuUnitCondition;
	}

	/**
	 * 构造并返回SKU规格属性 JSON存储查询条件
	 * 
	 * @return skuAttrsCondition SKU规格属性 JSON存储查询条件
	 */
	public Condition<String> skuAttrs() {
		this.skuAttrsCondition = new Condition<>();
		return this.skuAttrsCondition;
	}
	
	/**
	 * 获取SKU规格属性 JSON存储查询条件
	 * 
	 * @return skuAttrsCondition SKU规格属性 JSON存储查询条件
	 */
	public Condition<String> getSkuAttrsCondition() {
		return skuAttrsCondition;
	}

	/**
	 * 设置SKU规格属性 JSON存储查询条件
	 * 
	 * @param skuAttrsCondition SKU规格属性 JSON存储查询条件
	 */
	public void setSkuAttrsCondition(Condition<String> skuAttrsCondition) {
		this.skuAttrsCondition = skuAttrsCondition;
	}

	/**
	 * 构造并返回总金额（amount = price * num)查询条件
	 * 
	 * @return totalAmountCondition 总金额（amount = price * num)查询条件
	 */
	public Condition<BigDecimal> totalAmount() {
		this.totalAmountCondition = new Condition<>();
		return this.totalAmountCondition;
	}
	
	/**
	 * 获取总金额（amount = price * num)查询条件
	 * 
	 * @return totalAmountCondition 总金额（amount = price * num)查询条件
	 */
	public Condition<BigDecimal> getTotalAmountCondition() {
		return totalAmountCondition;
	}

	/**
	 * 设置总金额（amount = price * num)查询条件
	 * 
	 * @param totalAmountCondition 总金额（amount = price * num)查询条件
	 */
	public void setTotalAmountCondition(Condition<BigDecimal> totalAmountCondition) {
		this.totalAmountCondition = totalAmountCondition;
	}

	/**
	 * 构造并返回总积分查询条件
	 * 
	 * @return totalPointsCondition 总积分查询条件
	 */
	public Condition<Integer> totalPoints() {
		this.totalPointsCondition = new Condition<>();
		return this.totalPointsCondition;
	}
	
	/**
	 * 获取总积分查询条件
	 * 
	 * @return totalPointsCondition 总积分查询条件
	 */
	public Condition<Integer> getTotalPointsCondition() {
		return totalPointsCondition;
	}

	/**
	 * 设置总积分查询条件
	 * 
	 * @param totalPointsCondition 总积分查询条件
	 */
	public void setTotalPointsCondition(Condition<Integer> totalPointsCondition) {
		this.totalPointsCondition = totalPointsCondition;
	}

	/**
	 * 构造并返回商圈ID查询条件
	 * 
	 * @return busdIdCondition 商圈ID查询条件
	 */
	public Condition<String> busdId() {
		this.busdIdCondition = new Condition<>();
		return this.busdIdCondition;
	}
	
	/**
	 * 获取商圈ID查询条件
	 * 
	 * @return busdIdCondition 商圈ID查询条件
	 */
	public Condition<String> getBusdIdCondition() {
		return busdIdCondition;
	}

	/**
	 * 设置商圈ID查询条件
	 * 
	 * @param busdIdCondition 商圈ID查询条件
	 */
	public void setBusdIdCondition(Condition<String> busdIdCondition) {
		this.busdIdCondition = busdIdCondition;
	}

	/**
	 * 构造并返回商家ID查询条件
	 * 
	 * @return merchantIdCondition 商家ID查询条件
	 */
	public Condition<String> merchantId() {
		this.merchantIdCondition = new Condition<>();
		return this.merchantIdCondition;
	}
	
	/**
	 * 获取商家ID查询条件
	 * 
	 * @return merchantIdCondition 商家ID查询条件
	 */
	public Condition<String> getMerchantIdCondition() {
		return merchantIdCondition;
	}

	/**
	 * 设置商家ID查询条件
	 * 
	 * @param merchantIdCondition 商家ID查询条件
	 */
	public void setMerchantIdCondition(Condition<String> merchantIdCondition) {
		this.merchantIdCondition = merchantIdCondition;
	}

	/**
	 * 构造并返回会员ID查询条件
	 * 
	 * @return memberIdCondition 会员ID查询条件
	 */
	public Condition<String> memberId() {
		this.memberIdCondition = new Condition<>();
		return this.memberIdCondition;
	}
	
	/**
	 * 获取会员ID查询条件
	 * 
	 * @return memberIdCondition 会员ID查询条件
	 */
	public Condition<String> getMemberIdCondition() {
		return memberIdCondition;
	}

	/**
	 * 设置会员ID查询条件
	 * 
	 * @param memberIdCondition 会员ID查询条件
	 */
	public void setMemberIdCondition(Condition<String> memberIdCondition) {
		this.memberIdCondition = memberIdCondition;
	}

	/**
	 * 构造并返回是否已提货查询条件
	 * 
	 * @return pickupCondition 是否已提货查询条件
	 */
	public Condition<Boolean> pickup() {
		this.pickupCondition = new Condition<>();
		return this.pickupCondition;
	}
	
	/**
	 * 获取是否已提货查询条件
	 * 
	 * @return pickupCondition 是否已提货查询条件
	 */
	public Condition<Boolean> getPickupCondition() {
		return pickupCondition;
	}

	/**
	 * 设置是否已提货查询条件
	 * 
	 * @param pickupCondition 是否已提货查询条件
	 */
	public void setPickupCondition(Condition<Boolean> pickupCondition) {
		this.pickupCondition = pickupCondition;
	}

	/**
	 * 构造并返回提货开始时间（为空表示无限制）查询条件
	 * 
	 * @return pickupStartTimeCondition 提货开始时间（为空表示无限制）查询条件
	 */
	public Condition<LocalDateTime> pickupStartTime() {
		this.pickupStartTimeCondition = new Condition<>();
		return this.pickupStartTimeCondition;
	}
	
	/**
	 * 获取提货开始时间（为空表示无限制）查询条件
	 * 
	 * @return pickupStartTimeCondition 提货开始时间（为空表示无限制）查询条件
	 */
	public Condition<LocalDateTime> getPickupStartTimeCondition() {
		return pickupStartTimeCondition;
	}

	/**
	 * 设置提货开始时间（为空表示无限制）查询条件
	 * 
	 * @param pickupStartTimeCondition 提货开始时间（为空表示无限制）查询条件
	 */
	public void setPickupStartTimeCondition(Condition<LocalDateTime> pickupStartTimeCondition) {
		this.pickupStartTimeCondition = pickupStartTimeCondition;
	}

	/**
	 * 构造并返回提货超时时间（为空表示永不超时）查询条件
	 * 
	 * @return pickupExpireTimeCondition 提货超时时间（为空表示永不超时）查询条件
	 */
	public Condition<LocalDateTime> pickupExpireTime() {
		this.pickupExpireTimeCondition = new Condition<>();
		return this.pickupExpireTimeCondition;
	}
	
	/**
	 * 获取提货超时时间（为空表示永不超时）查询条件
	 * 
	 * @return pickupExpireTimeCondition 提货超时时间（为空表示永不超时）查询条件
	 */
	public Condition<LocalDateTime> getPickupExpireTimeCondition() {
		return pickupExpireTimeCondition;
	}

	/**
	 * 设置提货超时时间（为空表示永不超时）查询条件
	 * 
	 * @param pickupExpireTimeCondition 提货超时时间（为空表示永不超时）查询条件
	 */
	public void setPickupExpireTimeCondition(Condition<LocalDateTime> pickupExpireTimeCondition) {
		this.pickupExpireTimeCondition = pickupExpireTimeCondition;
	}

	/**
	 * 构造并返回提货时间查询条件
	 * 
	 * @return pickupTimeCondition 提货时间查询条件
	 */
	public Condition<LocalDateTime> pickupTime() {
		this.pickupTimeCondition = new Condition<>();
		return this.pickupTimeCondition;
	}
	
	/**
	 * 获取提货时间查询条件
	 * 
	 * @return pickupTimeCondition 提货时间查询条件
	 */
	public Condition<LocalDateTime> getPickupTimeCondition() {
		return pickupTimeCondition;
	}

	/**
	 * 设置提货时间查询条件
	 * 
	 * @param pickupTimeCondition 提货时间查询条件
	 */
	public void setPickupTimeCondition(Condition<LocalDateTime> pickupTimeCondition) {
		this.pickupTimeCondition = pickupTimeCondition;
	}

	/**
	 * 构造并返回商户用户ID（用户自提时由商户用户确认）查询条件
	 * 
	 * @return merchantUserIdCondition 商户用户ID（用户自提时由商户用户确认）查询条件
	 */
	public Condition<String> merchantUserId() {
		this.merchantUserIdCondition = new Condition<>();
		return this.merchantUserIdCondition;
	}
	
	/**
	 * 获取商户用户ID（用户自提时由商户用户确认）查询条件
	 * 
	 * @return merchantUserIdCondition 商户用户ID（用户自提时由商户用户确认）查询条件
	 */
	public Condition<String> getMerchantUserIdCondition() {
		return merchantUserIdCondition;
	}

	/**
	 * 设置商户用户ID（用户自提时由商户用户确认）查询条件
	 * 
	 * @param merchantUserIdCondition 商户用户ID（用户自提时由商户用户确认）查询条件
	 */
	public void setMerchantUserIdCondition(Condition<String> merchantUserIdCondition) {
		this.merchantUserIdCondition = merchantUserIdCondition;
	}

}
